/**
 * Created by zzw on 2016/8/6.
 * 迭代方法
 */

var numbers = [1,2,3,4,5,6];
/**
 * 1.使用every(),对数组中的每一项运行指定函数,如果数组每一项都返回true 则结果返回true
 * item  数组项的值
 * index 该项在数组中的位置
 * arry 数组对象本身
 * @type {boolean}
 */
var everyResult = numbers.every(function(item,index,arry){
   return (item>=2);
});
console.log("every():"+everyResult);


/**
 * 2.使用some(),对数组中的每一项运行指定函数，如果数组有一项返回true，则返回true
 * item  数组项的值
 * index 该项在数组中的位置
 * arry 数组对象本身
 * @type {boolean}
 */
var someResult = numbers.some(function(item,index,arry){
     return(item>2);
});
console.log("some():"+someResult);

/**
 * 3.使用filter(),对数组中的每一项运行指定函数返回函数会返回true的项组成的数组
 * item  数组项的值
 * index 该项在数组中的位置
 * arry 数组对象本身
 * @type {boolean}
 */
var filterResult = numbers.filter(function(item,index,arry){
    return (item>1);
});
console.log("filter():"+filterResult);

/**
 * 4.使用map(),返回每次函数调用的结果组成的函数
 * item  数组项的值
 * index 该项在数组中的位置
 * arry 数组对象本身
 * @type {boolean}
 */
var mapResult = numbers.map(function(item,index,arry){
   return item*2;
});
console.log(mapResult);



var values = [1,2,3,4,5];
/**
 *
 * @type {*}
 */
var sum = values.reduce(function(prev,cur,index,array){
     return prev+cur;
});
console.log(sum);

var sum1 = values.reduceRight(function(prev,cur,index,array){
      return prev+cur;
});
console.log(sum1);











